// 入口文件
console.log( '入口文件...' );

// import命令有提升的功能，提升到当前模块顶部

/* // 1.加载模块
import {fn1} from './module1.js';
import {fn2} from './module2.js';
fn1(2,3);
fn2(5,2); */


/* // 2.应用场景
import {name,age,sex,say} from './module1.js';
console.log( name );
console.log( age );
console.log( sex );
say(); */


/* // 3.应用场景
import {name,age,sex,say} from './module1.js';
console.log( name );
console.log( age );
console.log( sex );
say();
 */


/* // 4.应用场景
import {n,a,s,sy} from './module1.js';
console.log( n );
console.log( a );
console.log( s );
sy(); */


/* // 5.应用场景
import {obj} from './module1.js';
// obj = {name: '小红'} import加载的内容obj是一个常量，不能重新赋值
console.log( obj );
obj.name = '小黑';
console.log( obj.name ); */


/* // 6.应用场景
// 加载默认输出的内容不需要写在{}中
import fn from './module1.js';
fn(); */


/* // 7.应用场景
// 同一个模块加载多次，只执行一次
// import {name,age,sex,say} from './module1.js';
// import obj from './module1.js';
import obj,{name,age,sex,say} from './module1.js';
console.log( name );
console.log( sex );
console.log( obj ); */


/* // 8.应用场景
// 可以使用 as 修改输入的内容名字
import {name as n,age as a,sex as s,say} from './module1.js';
console.log( n );
console.log( a );
console.log( s );
say(); */


/* // 9.应用场景
// 使用 *和as 一次性加载默认所有内容
import * as obj from './module1.js';
console.log( obj );
console.log( obj.name );
obj.default(); */


/* // 10.应用场景
// 加载的模块内容是实时/动态的
import {num} from './module1.js';
console.log( num );// 123
setTimeout(()=>{
    console.log( num );// 456
},3000); */


// 11.应用场景
// 只执行module1，不加载任何内容
import './module1.js';